import opie

o = opie.object_factory()
o.create_db('LOCALHOST', 'USERNAME', 'PASSWORD', 'DBNAME')
u = opie.user_manager()
uu = u.create_user('chemguy', '******', '****@email.com')
g = opie.group_manager()
gg1 = g.create_group('group1', uu.id, [])
gg2 = g.create_group('period1', uu.id, [])
gg3 = g.create_group('sblock', uu.id, [])

H = o.create_obj(uu)
H.set_attr('element', 'hydrogen')
H.set_attr('symbol', 'H')
H.set_attr('number', '1')
H.set_attr('weight', '1.00')
H.set_attr('category', 'nonmetal')
o.set_obj(H)
gg1.add_member(H)
gg2.add_member(H)
gg3.add_member(H)


He = o.create_obj(uu)
He.set_attr('element', 'helium')
He.set_attr('symbol', 'He')
He.set_attr('number', '2')
He.set_attr('weight', '4.00')
He.set_attr('category', 'noble gases')
o.set_obj(He)
g20 = g.create_group('period18', uu, [])
g20.add_member(He)
gg2.add_member(He)
gg3.add_member(He)

Li = o.create_obj(uu)
Li.set_attr('element', 'lithium')
Li.set_attr('symbol', 'Li')
Li.set_attr('number', '3')
Li.set_attr('weight', '6.941')
Li.set_attr('category', 'alkali metal')
o.set_obj(Li)
gg21 = g.create_group('period2', uu, [])
gg1.add_member(Li)
gg21.add_member(Li)
gg3.add_member(Li)

Be = o.create_obj(uu)
Be.set_attr('element', 'beryllium')
Be.set_attr('symbol', 'Be')
Be.set_attr('number', '4')
Be.set_attr('weight', '9.012')
Be.set_attr('category', 'alkali earth metal')
o.set_obj(Be)
ggroup2 = g.create_group('group2', uu, [])
ggroup2.add_member(Be)
gg21.add_member(Be)
gg3.add_member(Be)

Bo = o.create_obj(uu)
Bo.set_attr('element', 'boron')
Bo.set_attr('symbol', 'Bo')
Bo.set_attr('number', '5')
Bo.set_attr('weight', '10.8117')
Bo.set_attr('category', 'metalloid')
o.set_obj(Bo)
ggroup13 = g.create_group('group13', uu, [])
gpblock = g.create_group('pblock', uu, [])
ggroup13.add_member(Bo)
gg21.add_member(Bo)
gpblock.add_member(Bo)

C = o.create_obj(uu)
C.set_attr('element', 'carbon')
C.set_attr('symbol', 'C')
C.set_attr('number', '6')
C.set_attr('weight', '12.0107')
C.set_attr('category', 'nonmetal')
o.set_obj(C)
ggroup14 = g.create_group('group14', uu, [])
ggroup14.add_member(C)
gg21.add_member(C)
gpblock.add_member(C)

N = o.create_obj(uu)
N.set_attr('element', 'nitrogen')
N.set_attr('symbol', 'N')
N.set_attr('number', '7')
N.set_attr('weight', '14.0067')
o.set_obj(N)

O = o.create_obj(uu)
O.set_attr('element', 'oxygen')
O.set_attr('symbol', 'O')
O.set_attr('number', '8')
O.set_attr('weight', '15.994')
o.set_obj(O)

F = o.create_obj(uu)
F.set_attr('element', 'fluorine')
F.set_attr('symbol', 'F')
F.set_attr('number', '9')
F.set_attr('weight', '18.9984')
o.set_obj(F)

Ne = o.create_obj(uu)
Ne.set_attr('element', 'neon')
Ne.set_attr('symbol', 'Ne')
Ne.set_attr('number', '10')
Ne.set_attr('weight', '20.1797')
o.set_obj(Ne)

Na = o.create_obj(uu)
Na.set_attr('element', 'sodium')
Na.set_attr('symbol', 'Na')
Na.set_attr('number', '11')
Na.set_attr('weight', '22.9897')
o.set_obj(Na)

Mg = o.create_obj(uu)
Mg.set_attr('element', 'magnesium')
Mg.set_attr('symbol', 'Mg')
Mg.set_attr('number', '12')
Mg.set_attr('weight', '24.305')
o.set_obj(Mg)

Al = o.create_obj(uu)
Al.set_attr('element', 'aluminum')
Al.set_attr('symbol', 'Al')
Al.set_attr('number', '13')
Al.set_attr('weight', '26.9815')
o.set_obj(Al)

Si = o.create_obj(uu)
Si.set_attr('element', 'silicon')
Si.set_attr('symbol', 'Si')
Si.set_attr('number', '14')
Si.set_attr('weight', '28.0855')
o.set_obj(Si)

P = o.create_obj(uu)
P.set_attr('element', 'phosphorous')
P.set_attr('symbol', 'P')
P.set_attr('number', '15')
P.set_attr('weight', '30.9737')
o.set_obj(P)

S = o.create_obj(uu)
S.set_attr('element', 'sulfur')
S.set_attr('symbol', 'S')
S.set_attr('number', '16')
S.set_attr('weight', '32.0655')
o.set_obj(S)

Cl = o.create_obj(uu)
Cl.set_attr('element', 'chlorine')
Cl.set_attr('symbol', 'Cl')
Cl.set_attr('number', '17')
Cl.set_attr('weight', '35.4532')
o.set_obj(Cl)

Ar = o.create_obj(uu)
Ar.set_attr('element', 'argon')
Ar.set_attr('symbol', 'Ar')
Ar.set_attr('number', '18')
Ar.set_attr('weight', '39.9481')
o.set_obj(Ar)
